import axios from "axios";
import store from "../store.js";
import router from "../router.js"

const Server = axios.create({
    baseURL: "",
    timeout: 5000,
})

// 请求拦截器
Server.interceptors.request.use((config) => {
    // 读取本地储存的token值
    let token = store.state.token;
    // 往header中添加token值
    config.headers['token'] = token;
	// 页面加载时显示loading效果
	store.commit("setLoading",true);
    return config;
}, (error) => {
    return Promise.reject(error);
});

// 响应拦截器
Server.interceptors.response.use((response) => {
    if (response.status == 200) {
		// 页面加载完成后隐藏loading效果
		setTimeout(() => {
			store.commit("setLoading",false);
		},1500)
        return response.data;
    }
    return response;
}, (error) => {
	console.log(error.response)
	if(error.response.data.errorCode == 20000) {
		store.commit("layout");
		// 跳转页面
		router.push("/admin/login");
	}
    return Promise.reject(error);
});

// 抛出
export default Server;